Producer Consumer Pattern Using a BlockingQueue in Java